<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="API docs for the update method from the ActionTween class, for the Dart programming language.">
  <title>update method - ActionTween class - spritewidget library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="../..">

  <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700" rel="stylesheet">
  <link rel="stylesheet" href="static-assets/github.css">
  <link rel="stylesheet" href="static-assets/styles.css">
  <link rel="icon" href="static-assets/favicon.png">

</head>

<body>

<div id="overlay-under-drawer"></div>

<header id="title">
  <button id="sidenav-left-toggle" type="button">&nbsp;</button>
  <ol class="breadcrumbs gt-separated dark hidden-xs">
    <li><a href="index.html">spritewidget</a></li>
    <li><a href="spritewidget/spritewidget-library.html">spritewidget</a></li>
    <li><a href="spritewidget/ActionTween-class.html">ActionTween<span class="signature">&lt;<wbr><span class="type-parameter">T</span>&gt;</span></a></li>
    <li class="self-crumb">update method</li>
  </ol>
  <div class="self-name">update</div>
  <form class="search navbar-right" role="search">
    <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
</header>

<main>

  <div class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <h5>ActionTween class</h5>
    <ol>
      <li class="section-title"><a href="spritewidget/ActionTween-class.html#constructors">Constructors</a></li>
      <li><a href="spritewidget/ActionTween/ActionTween.html">ActionTween</a></li>
    
      <li class="section-title">
        <a href="spritewidget/ActionTween-class.html#instance-properties">Properties</a>
      </li>
      <li><a href="spritewidget/ActionTween/endVal.html">endVal</a></li>
      <li><a href="spritewidget/ActionTween/setter.html">setter</a></li>
      <li><a href="spritewidget/ActionTween/startVal.html">startVal</a></li>
      <li class="inherited"><a href="spritewidget/ActionInterval/curve.html">curve</a></li>
      <li class="inherited"><a href="spritewidget/ActionInterval/duration.html">duration</a></li>
      <li class="inherited"><a href="dart-core/Object/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="dart-core/Object/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title"><a href="spritewidget/ActionTween-class.html#instance-methods">Methods</a></li>
      <li><a href="spritewidget/ActionTween/update.html">update</a></li>
      <li class="inherited"><a href="dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="spritewidget/ActionInterval/step.html">step</a></li>
      <li class="inherited"><a href="dart-core/Object/toString.html">toString</a></li>
    
      <li class="section-title inherited"><a href="spritewidget/ActionTween-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="dart-core/Object/operator_equals.html">operator ==</a></li>
    
    
    
    </ol>
  </div><!--/.sidebar-offcanvas-->

  <div class="col-xs-12 col-sm-9 col-md-8 main-content">
    <h1>update method</h1>

    <section class="multi-line-signature">
      <div>
        <ol class="annotation-list">
          <li>@override</li>
        </ol>
      </div>
      <span class="returntype">void</span>
      <span class="name ">update</span>
(<wbr><span class="parameter" id="update-param-t"><span class="type-annotation"><a href="dart-core/double-class.html">double</a></span> <span class="parameter-name">t</span></span>)
    </section>
    <section class="desc markdown">
      <p>Sets the action to a specific point in time. The <code>t</code> value that is passed
in is a normalized value 0.0 to 1.0 of the duration of the action. Every
action will always recieve a callback with the end time point (1.0),
unless it is cancelled.</p>
    </section>
    
    <section class="summary source-code" id="source">
      <h2><span>Implementation</span> </h2>
      <pre class="language-dart"><code class="language-dart">@override
void update(double t) {
  dynamic newVal;

  if (startVal is Offset) {
    &#47;&#47; Point
    double xStart = (startVal as Offset).dx;
    double yStart = (startVal as Offset).dy;
    double xDelta = _delta.dx;
    double yDelta = _delta.dy;
    newVal = new Offset(xStart + xDelta * t, yStart + yDelta * t);
  } else if (startVal is Size) {
    &#47;&#47; Size
    double wStart = (startVal as Size).width;
    double hStart = (startVal as Size).height;
    double wDelta = _delta.width;
    double hDelta = _delta.height;
    newVal = new Size(wStart + wDelta * t, hStart + hDelta * t);
  } else if (startVal is Rect) {
    &#47;&#47; Rect
    double lStart = (startVal as Rect).left;
    double tStart = (startVal as Rect).top;
    double rStart = (startVal as Rect).right;
    double bStart = (startVal as Rect).bottom;
    double lDelta = _delta.left;
    double tDelta = _delta.top;
    double rDelta = _delta.right;
    double bDelta = _delta.bottom;
    newVal = new Rect.fromLTRB(lStart + lDelta * t, tStart + tDelta * t, rStart + rDelta * t, bStart + bDelta * t);
  } else if (startVal is double) {
    &#47;&#47; Doubles
    newVal = (startVal as double) + _delta * t;
  } else if (startVal is Color) {
    &#47;&#47; Colors
    int aNew = ((startVal as Color).alpha + (_delta.alpha * t).toInt()).clamp(0, 255);
    int rNew = ((startVal as Color).red + (_delta.red * t).toInt()).clamp(0, 255);
    int gNew = ((startVal as Color).green + (_delta.green * t).toInt()).clamp(0, 255);
    int bNew = ((startVal as Color).blue + (_delta.blue * t).toInt()).clamp(0, 255);
    newVal = new Color.fromARGB(aNew, rNew, gNew, bNew);
  } else {
    &#47;&#47; Oopses
    assert(false);
  }

  setter(newVal);
}</code></pre>
    </section>

  </div> <!-- /.main-content -->

  <div class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
  </div><!--/.sidebar-offcanvas-->

</main>

<footer>
  <span class="no-break">
    spritewidget 0.9.16
  </span>

</footer>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/highlight.pack.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>


</body>

</html>
